package com.sv.ues.fia.tourismosv;

import java.util.ArrayList;
import java.util.HashMap;

import sv.ues.fia.tourismosv.R;
import sv.ues.fia.tourismosv.adapter.ListAdapter;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.Menu;
import android.view.View;
import android.widget.AdapterView;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.AdapterView.OnItemClickListener;

public class ListarTerminalesActivity extends Activity {
	
	ListAdapter mAdapter;
	CrearBaseTurismo BDhelper;
	Integer tipolugar;
	ListView lvTerminal;
	String buscar;
	Integer todo;
	EditText editbuscar;
	int textlength =0;
	ArrayList<HashMap<String, String>> array_sort = new ArrayList<HashMap<String, String>>();
	ArrayList<HashMap<String, String>> listarTerminales = new ArrayList<HashMap<String, String>>();


	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_listar_terminales);
		BDhelper = new CrearBaseTurismo(this);
		
		listarTerminales = BDhelper.listarTerminales();
		// Instanciamos los elementos
		lvTerminal = (ListView) findViewById(R.id.listviewterminales);
		
		mAdapter = new ListAdapter(this,listarTerminales);
                
		// Establecemos el adapter
		lvTerminal.setAdapter(mAdapter);
		
		//filtrado con el edit
		editbuscar = (EditText) findViewById(R.id.editBusqueda);
		editbuscar.addTextChangedListener(new TextWatcher() {
		@Override
	    public void onTextChanged(CharSequence cs, int arg1, int arg2, int arg3) {
	        // When user changed the Text
			textlength = editbuscar.getText().length();
            array_sort.clear();
	            
            for (int i = 0; i < listarTerminales.size(); i++) {
            	String itemnom = mAdapter.getItem(i);
            	String itemid = String.valueOf(mAdapter.getItemId(i));
            	String itemdir = mAdapter.getItemDir(i);
            	int longitud = itemnom.length();
                if (textlength <= longitud) {
                    if (editbuscar.getText().toString().equalsIgnoreCase((String) itemnom.subSequence(0, textlength))) {
                    	HashMap<String, String> actual = new HashMap<String, String>();
                    	actual.put("id", itemid);
            			actual.put("nombre", itemnom);
            			actual.put("direccion", itemdir);
                        array_sort.add(actual);
                    }
                }
            }
	             
            lvTerminal.setAdapter(new  ListAdapter(ListarTerminalesActivity.this, array_sort));
		}
	    @Override
	    public void beforeTextChanged(CharSequence arg0, int arg1, int arg2,
	            int arg3) { }
	    @Override
	    public void afterTextChanged(Editable arg0) {}
	  });
		
		//evento click de cada item
		lvTerminal.setOnItemClickListener(new OnItemClickListener() {
      
			@Override
			public void onItemClick(AdapterView<?> arg0, View arg1, int position,
					long arg3) {
				Intent intent = new Intent(getApplicationContext(), ConsultarLugarActivity.class);
				long id= arg0.getAdapter().getItemId(position);
			    intent.putExtra("idLugar", id);
				startActivity(intent);  
			}
        });
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.listar_terminales, menu);
		return true;
	}
	
	public void llamarMapa(View v)
	{
		Intent intent = new Intent(getApplicationContext(), MapaActivity.class);
		tipolugar=8;
		buscar = "nada";
		todo = 1;
		intent.putExtra("Tipo", tipolugar);
		intent.putExtra("Busca", buscar.toString());
		intent.putExtra("Todo", todo);
		startActivity(intent);
	}
	
	public void buscarenMapa(View v)
	{
		String busqueda=editbuscar.getText().toString();
		Intent intent = new Intent(getApplicationContext(), MapaActivity.class);
		tipolugar=8;
		todo=2;
		intent.putExtra("Tipo", tipolugar);
		intent.putExtra("Busca", busqueda);
		intent.putExtra("Todo", todo);
		startActivity(intent);
	}

}
